#ifndef MATH_H
#define MATH_H

#include <vector>
#include <QMatrix4x4>

class Math
{
public:
    Math();

    /**
     * @brief robotToWorld 机器人坐标系 转 世界坐标系
     * 机器人坐标系方向：x 向外，y 向右，z 向上
     * 世界坐标系方向：x 向右，y 向上，z 向外
     * @param src 机器人坐标系 x, y, z, rx, ry, rz
     * @return 世界坐标系 x, y, z, rx, ry, rz
     */
    static std::vector<double> robotToWorld(const std::vector<double> &src);

    // 四元数转欧拉角
    // NOTE: robot_math 仓库没 qt 依赖, 无法使用 QMatrix4x4
    static std::vector<double> matrixToPose(const QMatrix4x4 &matrix);
};

#endif // MATH_H
